submissions-test-results.html

Report generated on 20-Sep-2023 at 18:27:59 by pytest-html v3.1.1

Summary

21 tests ran in 883.07 seconds.

12 passed, 0 skipped, 9 failed, 1 errors, 0 expected failures, 0 unexpected passes, 0 rerun

Results

Result Test Duration Links
Error tests/devhub_submissions/test_addon_submissions.py::test_submit_listed_wizard_theme[Desktop]::teardown 96.08
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="526e9acb-fa5c-4f2c-abd7-560c2f060c70")>, base_url = 'https://addons.allizom.org'

@pytest.fixture
def delete_themes(selenium, base_url):
"""Use this fixture in devhub theme submission tests when we want to
immediately delete the theme once the test has completed"""
yield

from pages.desktop.developers.devhub_home import DevHubHome

page = DevHubHome(selenium, base_url).open().wait_for_page_to_load()
manage_addons = page.click_my_addons_header_link()
manage_addons.click_on_my_themes()
> while len(manage_addons.addon_list) > 0:

tests/conftest.py:196:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/desktop/developers/addons_manage.py:52: in addon_list
self.wait_for_element_to_be_displayed(self._addon_items_locator)
pages/desktop/base.py:42: in wait_for_element_to_be_displayed
self.wait.until(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <selenium.webdriver.support.wait.WebDriverWait (session="526e9acb-fa5c-4f2c-abd7-560c2f060c70")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1073a9300>, message = ''

def until(self, method, message: str = ""):
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.

:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None

end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, 'screen', None)
stacktrace = getattr(exc, 'stacktrace', None)
time.sleep(self._poll)
if time.monotonic() > end_time:
break
> raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:
E Stacktrace:
E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5
E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:132:16

venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException
------------------------------Captured stdout call------------------------------
The "click continue button" event occurred. The script should be on the password input screen here. We should see "Sign in" in the header. The card header title is "Enter your password for your Firefox account"
--------------------------------pytest-selenium---------------------------------
Driver log: /private/var/folders/v_/6jd_d5kn7ss0v8hd92jqglz80000gq/T/pytest-of-alexandru.schek/pytest-12/test_submit_listed_wizard_them0/driver.log WARNING: Failed to gather URL: HTTPConnectionPool(host='localhost', port=58491): Max retries exceeded with url: /session/526e9acb-fa5c-4f2c-abd7-560c2f060c70/url (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x10780dcd0>: Failed to establish a new connection: [Errno 61] Connection refused')) WARNING: Failed to gather screenshot: HTTPConnectionPool(host='localhost', port=58491): Max retries exceeded with url: /session/526e9acb-fa5c-4f2c-abd7-560c2f060c70/screenshot (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x107300750>: Failed to establish a new connection: [Errno 61] Connection refused')) WARNING: Failed to gather HTML: HTTPConnectionPool(host='localhost', port=58491): Max retries exceeded with url: /session/526e9acb-fa5c-4f2c-abd7-560c2f060c70/source (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x107781cd0>: Failed to establish a new connection: [Errno 61] Connection refused')) WARNING: Failed to gather log types: HTTPConnectionPool(host='localhost', port=58491): Max retries exceeded with url: /session/526e9acb-fa5c-4f2c-abd7-560c2f060c70/se/log/types (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x107782e10>: Failed to establish a new connection: [Errno 61] Connection refused'))
Failed tests/devhub_submissions/test_addon_submissions.py::test_addon_last_modified_date[Desktop] 4.48
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="ffc67286-6a43-4701-b5c9-bbf102abd48f")>, base_url = 'https://addons.allizom.org'

@pytest.mark.serial
@pytest.mark.create_session("submissions_user")
def test_addon_last_modified_date(selenium, base_url):
page = DevHubHome(selenium, base_url).open().wait_for_page_to_load()
# check the last modified date in the latest submitted addon on Devhub homepage (should be current date)
print(page.my_addons_list[0].my_addon_modified_date_text)
> assert (
reusables.current_date() == page.my_addons_list[0].my_addon_modified_date_text
)
E AssertionError: assert 'Sep #d, 2023' == 'Sep 20, 2023'
E - Sep 20, 2023
E ? ^^
E + Sep #d, 2023
E ? ^^

tests/devhub_submissions/test_addon_submissions.py:327: AssertionError
------------------------------Captured stdout call------------------------------
Sep 20, 2023
Failed tests/devhub_submissions/test_addon_submissions.py::test_submit_unicode_addon[Desktop-Chinese characters] 15.46
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="1dad0e54-70b3-4bcc-b338-af95463d9447")>, base_url = 'https://addons.allizom.org'
variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...}
wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x107a55a90>, addon_name = '这是我的名字', description = '这是我的描述'

@pytest.mark.parametrize(
"addon_name, description",
(
["这是我的名字", "这是我的描述"],
["1515هذا هو اسمي", "هذا هو وصفي"],
["이건 내 이름이야", "이것은 내 설명입니다"],
["ဒါက ငါ့နာမည်ပါ။", "ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။"],
["ʌɑ:æčβぁŇ", "☺️ʌɑ:æčβぁŇ☺️"],
),
ids=[
"Chinese characters",
"Arabic characters",
"Korean characters",
"Burmese characters",
"Random non-ascii characters",
],
)
@pytest.mark.serial
@pytest.mark.create_session("submissions_user")
def test_submit_unicode_addon(
selenium, base_url, variables, wait, addon_name, description
):
"""Test covering the process of uploading addons with non-ASCII characters"""
manifest = {
**payloads.minimal_manifest,
"name": addon_name,
"description": description,
}
api_helpers.make_addon(manifest)
selenium.get(f"{base_url}/developers/addon/submit/upload-listed")
submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load()
# checking that the Firefox compatibility checkbox is selected by default
> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())

tests/devhub_submissions/test_addon_submissions.py:436:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until
value = method(self._driver)
tests/devhub_submissions/test_addon_submissions.py:436: in <lambda>
wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())
pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox
self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <selenium.webdriver.support.wait.WebDriverWait (session="1dad0e54-70b3-4bcc-b338-af95463d9447")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1077032e0>, message = ''

def until(self, method, message: str = ""):
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.

:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None

end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, 'screen', None)
stacktrace = getattr(exc, 'stacktrace', None)
time.sleep(self._poll)
if time.monotonic() > end_time:
break
> raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:

venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException
------------------------------Captured stdout call------------------------------
Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': '这是我的名字', 'description': '这是我的描述'}
Failed tests/devhub_submissions/test_addon_submissions.py::test_submit_unicode_addon[Desktop-Arabic characters] 15.10
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="00cd742e-b9a7-4682-a4d3-3ecbf27e4e59")>, base_url = 'https://addons.allizom.org'
variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...}
wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x107881850>, addon_name = '1515هذا هو اسمي', description = 'هذا هو وصفي'

@pytest.mark.parametrize(
"addon_name, description",
(
["这是我的名字", "这是我的描述"],
["1515هذا هو اسمي", "هذا هو وصفي"],
["이건 내 이름이야", "이것은 내 설명입니다"],
["ဒါက ငါ့နာမည်ပါ။", "ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။"],
["ʌɑ:æčβぁŇ", "☺️ʌɑ:æčβぁŇ☺️"],
),
ids=[
"Chinese characters",
"Arabic characters",
"Korean characters",
"Burmese characters",
"Random non-ascii characters",
],
)
@pytest.mark.serial
@pytest.mark.create_session("submissions_user")
def test_submit_unicode_addon(
selenium, base_url, variables, wait, addon_name, description
):
"""Test covering the process of uploading addons with non-ASCII characters"""
manifest = {
**payloads.minimal_manifest,
"name": addon_name,
"description": description,
}
api_helpers.make_addon(manifest)
selenium.get(f"{base_url}/developers/addon/submit/upload-listed")
submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load()
# checking that the Firefox compatibility checkbox is selected by default
> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())

tests/devhub_submissions/test_addon_submissions.py:436:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until
value = method(self._driver)
tests/devhub_submissions/test_addon_submissions.py:436: in <lambda>
wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())
pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox
self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <selenium.webdriver.support.wait.WebDriverWait (session="00cd742e-b9a7-4682-a4d3-3ecbf27e4e59")>, method = <function visibility_of_element_located.<locals>._predicate at 0x107a12200>, message = ''

def until(self, method, message: str = ""):
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.

:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None

end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, 'screen', None)
stacktrace = getattr(exc, 'stacktrace', None)
time.sleep(self._poll)
if time.monotonic() > end_time:
break
> raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:

venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException
------------------------------Captured stdout call------------------------------
Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': '1515هذا هو اسمي', 'description': 'هذا هو وصفي'}
Failed tests/devhub_submissions/test_addon_submissions.py::test_submit_unicode_addon[Desktop-Korean characters] 14.96
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="282b440a-7b2a-424f-81c7-9c43c0dc3246")>, base_url = 'https://addons.allizom.org'
variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...}
wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x107068190>, addon_name = '이건 내 이름이야', description = '이것은 내 설명입니다'

@pytest.mark.parametrize(
"addon_name, description",
(
["这是我的名字", "这是我的描述"],
["1515هذا هو اسمي", "هذا هو وصفي"],
["이건 내 이름이야", "이것은 내 설명입니다"],
["ဒါက ငါ့နာမည်ပါ။", "ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။"],
["ʌɑ:æčβぁŇ", "☺️ʌɑ:æčβぁŇ☺️"],
),
ids=[
"Chinese characters",
"Arabic characters",
"Korean characters",
"Burmese characters",
"Random non-ascii characters",
],
)
@pytest.mark.serial
@pytest.mark.create_session("submissions_user")
def test_submit_unicode_addon(
selenium, base_url, variables, wait, addon_name, description
):
"""Test covering the process of uploading addons with non-ASCII characters"""
manifest = {
**payloads.minimal_manifest,
"name": addon_name,
"description": description,
}
api_helpers.make_addon(manifest)
selenium.get(f"{base_url}/developers/addon/submit/upload-listed")
submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load()
# checking that the Firefox compatibility checkbox is selected by default
> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())

tests/devhub_submissions/test_addon_submissions.py:436:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until
value = method(self._driver)
tests/devhub_submissions/test_addon_submissions.py:436: in <lambda>
wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())
pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox
self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <selenium.webdriver.support.wait.WebDriverWait (session="282b440a-7b2a-424f-81c7-9c43c0dc3246")>, method = <function visibility_of_element_located.<locals>._predicate at 0x10706f7e0>, message = ''

def until(self, method, message: str = ""):
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.

:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None

end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, 'screen', None)
stacktrace = getattr(exc, 'stacktrace', None)
time.sleep(self._poll)
if time.monotonic() > end_time:
break
> raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:

venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException
------------------------------Captured stdout call------------------------------
Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': '이건 내 이름이야', 'description': '이것은 내 설명입니다'}
Failed tests/devhub_submissions/test_addon_submissions.py::test_submit_unicode_addon[Desktop-Burmese characters] 15.12
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="e4fce01f-fd86-42e0-a4e5-8959beff9274")>, base_url = 'https://addons.allizom.org'
variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...}
wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x1077af990>, addon_name = 'ဒါက ငါ့နာမည်ပါ။'
description = 'ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။'

@pytest.mark.parametrize(
"addon_name, description",
(
["这是我的名字", "这是我的描述"],
["1515هذا هو اسمي", "هذا هو وصفي"],
["이건 내 이름이야", "이것은 내 설명입니다"],
["ဒါက ငါ့နာမည်ပါ။", "ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။"],
["ʌɑ:æčβぁŇ", "☺️ʌɑ:æčβぁŇ☺️"],
),
ids=[
"Chinese characters",
"Arabic characters",
"Korean characters",
"Burmese characters",
"Random non-ascii characters",
],
)
@pytest.mark.serial
@pytest.mark.create_session("submissions_user")
def test_submit_unicode_addon(
selenium, base_url, variables, wait, addon_name, description
):
"""Test covering the process of uploading addons with non-ASCII characters"""
manifest = {
**payloads.minimal_manifest,
"name": addon_name,
"description": description,
}
api_helpers.make_addon(manifest)
selenium.get(f"{base_url}/developers/addon/submit/upload-listed")
submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load()
# checking that the Firefox compatibility checkbox is selected by default
> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())

tests/devhub_submissions/test_addon_submissions.py:436:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until
value = method(self._driver)
tests/devhub_submissions/test_addon_submissions.py:436: in <lambda>
wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())
pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox
self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <selenium.webdriver.support.wait.WebDriverWait (session="e4fce01f-fd86-42e0-a4e5-8959beff9274")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1059a3c40>, message = ''

def until(self, method, message: str = ""):
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.

:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None

end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, 'screen', None)
stacktrace = getattr(exc, 'stacktrace', None)
time.sleep(self._poll)
if time.monotonic() > end_time:
break
> raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:

venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException
------------------------------Captured stdout call------------------------------
Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'ဒါက ငါ့နာမည်ပါ။', 'description': 'ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။'}
Failed tests/devhub_submissions/test_addon_submissions.py::test_submit_unicode_addon[Desktop-Random non-ascii characters] 14.89
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="20fbe554-9a2e-4ef1-bee2-f9e85b3810c7")>, base_url = 'https://addons.allizom.org'
variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...}
wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x107a2bc50>, addon_name = 'ʌɑ:æčβぁŇ', description = '☺️ʌɑ:æčβぁŇ☺️'

@pytest.mark.parametrize(
"addon_name, description",
(
["这是我的名字", "这是我的描述"],
["1515هذا هو اسمي", "هذا هو وصفي"],
["이건 내 이름이야", "이것은 내 설명입니다"],
["ဒါက ငါ့နာမည်ပါ။", "ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။"],
["ʌɑ:æčβぁŇ", "☺️ʌɑ:æčβぁŇ☺️"],
),
ids=[
"Chinese characters",
"Arabic characters",
"Korean characters",
"Burmese characters",
"Random non-ascii characters",
],
)
@pytest.mark.serial
@pytest.mark.create_session("submissions_user")
def test_submit_unicode_addon(
selenium, base_url, variables, wait, addon_name, description
):
"""Test covering the process of uploading addons with non-ASCII characters"""
manifest = {
**payloads.minimal_manifest,
"name": addon_name,
"description": description,
}
api_helpers.make_addon(manifest)
selenium.get(f"{base_url}/developers/addon/submit/upload-listed")
submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load()
# checking that the Firefox compatibility checkbox is selected by default
> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())

tests/devhub_submissions/test_addon_submissions.py:436:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until
value = method(self._driver)
tests/devhub_submissions/test_addon_submissions.py:436: in <lambda>
wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())
pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox
self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <selenium.webdriver.support.wait.WebDriverWait (session="20fbe554-9a2e-4ef1-bee2-f9e85b3810c7")>, method = <function visibility_of_element_located.<locals>._predicate at 0x107a12e80>, message = ''

def until(self, method, message: str = ""):
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.

:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None

end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, 'screen', None)
stacktrace = getattr(exc, 'stacktrace', None)
time.sleep(self._poll)
if time.monotonic() > end_time:
break
> raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:

venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException
------------------------------Captured stdout call------------------------------
Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'ʌɑ:æčβぁŇ', 'description': '☺️ʌɑ:æčβぁŇ☺️'}
Failed tests/devhub_submissions/test_addon_submissions.py::test_addon_validation_warning[Desktop] 14.89
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="a1532ea2-51c6-4a67-a799-afcf27d8e146")>, base_url = 'https://addons.allizom.org'
variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...}
wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x108313410>

@pytest.mark.serial
@pytest.mark.create_session("submissions_user")
def test_addon_validation_warning(selenium, base_url, variables, wait):
"""Test validation results when addons trigger some warnings"""
selenium.get(f"{base_url}/developers/addon/submit/upload-listed")
submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load()
# checking that the Firefox compatibility checkbox is selected by default
> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())

tests/devhub_submissions/test_addon_submissions.py:465:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until
value = method(self._driver)
tests/devhub_submissions/test_addon_submissions.py:465: in <lambda>
wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())
pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox
self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <selenium.webdriver.support.wait.WebDriverWait (session="a1532ea2-51c6-4a67-a799-afcf27d8e146")>, method = <function visibility_of_element_located.<locals>._predicate at 0x107a13420>, message = ''

def until(self, method, message: str = ""):
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.

:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None

end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, 'screen', None)
stacktrace = getattr(exc, 'stacktrace', None)
time.sleep(self._poll)
if time.monotonic() > end_time:
break
> raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:

venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException
Failed tests/devhub_submissions/test_addon_submissions.py::test_cancel_and_disable_version_during_upload[Desktop] 15.01
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="20f9dce7-0d9b-49a1-ac87-a054612ef9ed")>, base_url = 'https://addons.allizom.org'
wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x1082b9450>

@pytest.mark.serial
@pytest.mark.create_session("submissions_user")
def test_cancel_and_disable_version_during_upload(selenium, base_url, wait):
"""Test what happens in the upload process when a user chooses to cancel the submission"""
selenium.get(f"{base_url}/developers/addon/submit/upload-listed")
submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load()
# checking that the Firefox compatibility checkbox is selected by default
> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())

tests/devhub_submissions/test_addon_submissions.py:492:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until
value = method(self._driver)
tests/devhub_submissions/test_addon_submissions.py:492: in <lambda>
wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected())
pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox
self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <selenium.webdriver.support.wait.WebDriverWait (session="20f9dce7-0d9b-49a1-ac87-a054612ef9ed")>, method = <function visibility_of_element_located.<locals>._predicate at 0x107a13e20>, message = ''

def until(self, method, message: str = ""):
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.

:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None

end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, 'screen', None)
stacktrace = getattr(exc, 'stacktrace', None)
time.sleep(self._poll)
if time.monotonic() > end_time:
break
> raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:

venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException
Failed tests/devhub_submissions/test_addon_submissions.py::test_delete_all_extensions[Desktop] 43.32
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="ff93bf13-0369-40f0-af9c-54771d63944f")>, base_url = 'https://addons.allizom.org'

@pytest.mark.sanity
@pytest.mark.serial
@pytest.mark.create_session("submissions_user")
def test_delete_all_extensions(selenium, base_url):
"""This test will delete all the extensions submitted above to make sure
we can start over with this user in the following runs and also for
verifying that the addon deletion process functions correctly"""
page = DevHubHome(selenium, base_url).open().wait_for_page_to_load()
manage_addons = page.click_my_addons_header_link()
# run the delete steps until all the addons are cleared from the list
> while len(manage_addons.addon_list) > 0:

tests/devhub_submissions/test_addon_submissions.py:525:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/desktop/developers/addons_manage.py:52: in addon_list
self.wait_for_element_to_be_displayed(self._addon_items_locator)
pages/desktop/base.py:42: in wait_for_element_to_be_displayed
self.wait.until(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <selenium.webdriver.support.wait.WebDriverWait (session="ff93bf13-0369-40f0-af9c-54771d63944f")>, method = <function visibility_of_element_located.<locals>._predicate at 0x107700680>, message = ''

def until(self, method, message: str = ""):
"""Calls the method provided with the driver as an argument until the \
return value does not evaluate to ``False``.

:param method: callable(WebDriver)
:param message: optional message for :exc:`TimeoutException`
:returns: the result of the last call to `method`
:raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
"""
screen = None
stacktrace = None

end_time = time.monotonic() + self._timeout
while True:
try:
value = method(self._driver)
if value:
return value
except self._ignored_exceptions as exc:
screen = getattr(exc, 'screen', None)
stacktrace = getattr(exc, 'stacktrace', None)
time.sleep(self._poll)
if time.monotonic() > end_time:
break
> raise TimeoutException(message, screen, stacktrace)
E selenium.common.exceptions.TimeoutException: Message:
E Stacktrace:
E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8
E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5
E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5
E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:132:16

venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException
Passed tests/devhub_submissions/test_addon_submissions.py::test_devhub_developer_agreement_page_contents[Desktop] 15.20
-----------------------------Captured stdout setup------------------------------
The "click continue button" event occurred. The script should be on the password input screen here. We should see "Sign in" in the header. The card header title is "Enter your password for your Firefox account"
Passed tests/devhub_submissions/test_addon_submissions.py::test_devhub_developer_agreement_page_links[Desktop] 9.85
No log output captured.
Passed tests/devhub_submissions/test_addon_submissions.py::test_devhub_developer_agreement_checkboxes[Desktop] 6.87
No log output captured.
Passed tests/devhub_submissions/test_addon_submissions.py::test_submit_unlisted_addon[Desktop] 57.35
-----------------------------Captured stdout setup------------------------------
The "click continue button" event occurred. The script should be on the password input screen here. We should see "Sign in" in the header. The card header title is "Enter your password for your Firefox account"
Passed tests/devhub_submissions/test_addon_submissions.py::test_addon_distribution_page_contents[Desktop] 8.83
No log output captured.
Passed tests/devhub_submissions/test_addon_submissions.py::test_devhub_upload_extension_page_contents[Desktop] 5.09
No log output captured.
Passed tests/devhub_submissions/test_addon_submissions.py::test_upload_unsupported_file_validation_error[Desktop] 6.24
No log output captured.
Passed tests/devhub_submissions/test_addon_submissions.py::test_verify_first_version_autoapproval[Desktop] 223.20
No log output captured.
Passed tests/devhub_submissions/test_addon_submissions.py::test_submit_listed_addon[Desktop] 19.24
No log output captured.
Passed tests/devhub_submissions/test_addon_submissions.py::test_submit_addon_3mb_size[Desktop] 22.18
No log output captured.
Passed tests/devhub_submissions/test_addon_submissions.py::test_submit_mixed_addon_versions[Desktop] 17.84
No log output captured.
Passed tests/devhub_submissions/test_addon_submissions.py::test_verify_new_unlisted_version_autoapproval[Desktop] 240.67
------------------------------Captured stdout call------------------------------
The "click continue button" event occurred. The script should be on the password input screen here. We should see "Sign in" in the header. The card header title is "Enter your password for your Firefox account" Manifest content: {'manifest_version': 2, 'theme': {'frame': '#083af0', 'tab_background_text': '#ffffff'}, 'version': '35.0', 'name': 'New version auto-approval'}